Apparently the su(1) program in the fileutils package cannot handle
multiple-length -c arguments. (The -c argument is used by su(1) to execute
a program or script other than a shell as a different user.)
For example, I cannot get this to work, although the man page says it
should, and it works correctly in other su(1) implementations:
su user -c /path/to/exec argument argument ...
I've also tried this form:
su -c "/path/to/exec argument argument" user
and it doesn't work either.
Both su username -c "/path/program arguments" and su -c "/path/program
arguments" username work for me...
Try reinstalling the sh-utils package (rpm -Uvh --force
/mnt/cdrom/RedHat/RPMS/sh-utils*), maybe someone messed up your installation.