Some thoughts:
Check the permissions for the file that you are trying to execute. I presume you install as root and then run another another username.
Check /var/log/secure for permissions violations or other errors.
Do you have SELinux enabled? Check using sestatus. That can upset a few things.
Using strace might help if you can narrow the problem down to a single command otherwise you will get too much diagnostic trace. For example, if I call zcat I get this:
[tim@c7va ~]$ strace zcat
execve("/usr/bin/zcat", ["zcat"], [/* 31 vars */]) = 0
If I then remove permissions to zcat I get this:
[tim@c7va ~]$ strace zcat
execve("/usr/bin/zcat", ["zcat"], [/* 31 vars */]) = -1 EACCES (Permission denied)
write(2, "strace: exec: Permission denied\n", 32strace: exec: Permission denied
) = 32
exit_group(1) = ?
+++ exited with 1 +++
The other thing that I can think of is that environments can be slightly different depending on how a shell is invoked. Google “bash_profile or .bashrc” and see whether that might be affecting you.