Shouldn't stand-alone programs other than git.c itself also call setup_path()?
I have a problem where if I only install git into my own home directory ~/bin, I can't send pull requests over SSH to that machine successfully because the execvp() of "pack-objects" by git-upload-pack fails due to the PATH not containing "git --exec-dir"
If I add a dummy setup_path(NULL) call to upload-pack.c, it works fine.