force cp to copy on dangling symlinks

Solution 1:

Make cp remove the target file before copying:

$ ln -s /random/file f              
$ cp -f a f                  
cp: not writing through dangling symlink ‘f’
$ cp --remove-destination a f
$ diff a f && echo yes
yes

From man cp:

--remove-destination
      remove  each existing destination file before attempting to open
      it (contrast with --force)

Solution 2:

Just use unlink theSymLink where theSymLink is the actual symlink, then try again