>I propose to add a new flag (set --no-path-builtins) to turn off >builtins with a path binding. "Legacy" (if anyone cares) users of old >pfsh and pfksh can set this flag optionally in the script or shell >start profiles. > >Just disabling the builtins based on getexecattr() has >nondeterministic effects on scripts and interactive users. How can >anyone tell which builtin is used and which not? IMHO the old >pfsh/pfksh behaviour is just sick and broken. >Same issue affects security: The administrator who sets the exec >profile can hack into scripts and force them to use external commands >even if the authors wished to use builtin commands.
If there's a difference between "/bin/foo" and "builtin foo" I would suggest that that is a bug in the shell. Why do you care? Only if the "builtin" is different. I was bitten by mktemp in ksh93 and the only reason why I cared because the builtin wasn't compatible. Casper