empty gets dead locked if non-existent command is supplied to it. the following describes the problem pretty well:
$ killall empty
$ empty -f -i foo -o bar non_existent_binary
$ echo $?
0
$ ls -l foo bar
ls: cannot access foo: No such file or directory
ls: cannot access bar: No such file or directory
$ tail /var/log/messages
Jan 13 18:37:21 localhost empty: version 0.6.16b started
Jan...
2009-01-13 15:43:30 UTC in empty