Fix mv on overwrite.

We need to remove the destination, not the source, to be able to overwrite.
diff --git a/tests/mv.test b/tests/mv.test
index 53fc999..030e9cc 100755
--- a/tests/mv.test
+++ b/tests/mv.test
@@ -96,3 +96,10 @@
 testing "Move -n file new_file (exist)" "mv -n file1 file2 &&
    [ -e file1 -a -e file2 ] && echo 'yes'" "yes\n" "" ""
 rm -f file*
+
+touch file1 file2
+chmod 400 file1 file2
+testing "Move file over unwritable file with no stdin" \
+   "</dev/null mv file2 file1 && [ -e file -a ! -e file2 ] && echo 'yes'" \
+   "yes\n" "" ""
+rm -f file*
diff --git a/toys/posix/cp.c b/toys/posix/cp.c
index d5e92f2..5a55f40 100644
--- a/toys/posix/cp.c
+++ b/toys/posix/cp.c
@@ -382,7 +382,7 @@
         {
           fprintf(stderr, "%s: overwrite '%s'", toys.which->name, TT.destname);
           if (!yesno("", 1)) rc = 0;
-          else unlink(src);
+          else unlink(TT.destname);
         }
       }