What you are saying is not making sense to me and does not agree with my experience of using fork on Unix.
In my experience, Perl's fork and exec are rock-solid on Unix. Have you used them successfully before?
You are going to have to post some code. If your code is too long and complicated to post, how about posting a short sample program that forks and then execs a simple Unix executable (the "ls" command say). Make sure to include error checking in this little sample program and be sure to capture the stdout and stderr of the "ls" command along with its exit code.
If you do that, we may be able to spot what you are doing wrong.
(An example of a more complicated sample Unix Perl program that uses fork and exec can be found here).