How are you running the perl script that execs the commands? from cgi? cron? command line? Is it possible that the PATH is messed up and you are trying to exec `tar` for instance where tar is not in the path when the script runs? I dont have any BSD boxes here to test on but I think that -1 is returned where the command is not found.