cp -u
De acordo com a página man cp , u só irá substituir o arquivo se o destino for mais antigo que a fonte.
Parece que a opção -u não está disponível para scp, por isso, se você precisa fazê-lo em um host remoto, uso rsync . Por padrão, o rsync ignora arquivos que possuem o mesmo tamanho, nome e hora da última modificação. O rsync também tem uma opção -u para ignorar os arquivos de destino mais recentes.