Slackware is probably the only modern Unix where you cannot run command foo as user bar. Of course, su bar -c foo seems to work, but only to a point: -c foo is not a flag for su, it is passed to the user's shell. And unlike on FreeBSD, Debian, or even Solaris, there is no way to bypass this! You have to run your own wrapper around setuid(), or change the user's shell. If the user's shell is not, well, a shell, all sorts of weird things happen, and you simply cannot execute commands as a given user in a reliable way.