Feature #3426

Updated by nahi (Hiroshi Nakamura) over 10 years ago

  The documentation for exec states: "If single string is given as the command, it is taken as a command line that is subject to shell expansion before being executed." However, command lines that begin with environment variable assignments do not seem to work. For example: 
  $ install/bin/ruby -e 'exec "FOO=1 echo bar"' 
  -e:1:in `exec': No such file or directory - FOO=1 echo bar (Errno::ENOENT) 
 	 from -e:1:in `<main>' 
  Other examples of shellish syntax (not a filename) for the first word do work.  
  This same problem seems to also afflict all the other constructs for running an external command: system, backticks, IO.popen, spawn. I'm reporting against 1.9.3, but all previous versions of ruby (s far back as 1.8.6) that I've tried have the problem as well.