unutbu correctly pointed out to the git-osx-installer issue 53, which states:
Basically, I had /root/bin in my path and didn't have permissions for that directory.
Interestingly, this was not a problem with git 1.6.3, but it was with 1.7.0 and 1.7.1.
A strace -f -eexecve git st 2>&1 | grep EACC can help see what directory is the problem:
[pid 6469] execve("/usr/games/bin/git-st", ["git-st"], [/* 72 vars */]) = -1 EACCES
(in this instance, the /usr/games/bin/)
Another way to find the path with the problem is:
echo $PATH |tr ':' '\n' |xargs ls -ld
One of my invalid items is actually an NFS mounted directory that I don't have permission to access because I have not authenticated via Kerberos to the corporate NFS server.
Removing that one item from the PATH fixes the issue, and 'git stat' (my alias for status) now works.
PeterT mentions in the comment that you might not have strace available (like in Solaris or OsX, as detailed in "Equivalent of strace -feopen < command > on mac os X"), in which case dtruss is a good equivalent.
dtruss -f -t execve git st 2>&1 | grep EACC