def shell_commands( cmd, args )
      cmdline = [ cmd.to_s.shellsplit ]
      cmdline << args.flatten.collect{ |a| a.to_s }
      return commandline_normalize( cmdline )
    end
def shell_commands( cmd, args )
      cmdline = [ cmd.to_s.shellsplit ]
      cmdline << args.flatten.collect{ |a| a.to_s }
      return commandline_normalize( cmdline )
    end
cut it down to just the shell commands that will be passed to exec or
 posix_spawn. The cmd argument is split according to shell rules and the
 args are not escaped because they whole set is passed to system as *args
 and in that case system shell escaping rules are not done.