Return the error if exec fails

I don't understand this change.

Why don't you simply do:

return execve(REAL_PATH, argv, envp); 

On success, execve never returns and error, it returns -1 and sets errno.

?