Why Don Setuid Scripts Work?
They aren’t supposed to. This feature has been disabled in the Linux kernel on purpose, because setuid scripts are almost always a security hole. Sudo and SuidPerl can provide more security than setuid scripts or binaries, especially if execute permissions are limited to a certain user ID or group ID. If you want to know why setuid scripts are a security hole, read the FAQ for news:comp.unix.questions.