Printing the PID of a program immediately before it runs
Bug
This line:

    argv_copy[argc] = (char *) NULL;


should be:
    argv_copy[argc-1] = NULL;

You are removing one argument so you need to terminate the array at the right place.
Copy unneeded
Instead of:

    execvp(argv[1], argv_copy);


you could do:
    execvp(argv[1], &amp;argv[1]);

and avoid making a copy.