`cp` and `ls` complain if the files do not exist, using `test` is more appropriate to test whether the files exist.