title: Parameters ignored in call()
body: <p>I am trying to call <code>ssh</code> from a Python program but it seems to be ignoring the arguments.</p>
  
  <p>This is the Python program:</p>
  
  <pre><code>#!/usr/bin/python
  
  from subprocess import Popen, PIPE, call
  
  vm_name = 'vmName with-space'
  vm_host = 'user@192.168.21.230'
  
  def ssh_prefix_list(host=None):
      if host:
          # return ["ssh", "-v", "-v", "-v", host]
          return ["scripts/ssh_wrapper", "-v", "-v", "-v", host]
      else:
          return []
  
  def start(vm_name, vm_host=None):  # vm_host defaults to None
      print "vm_host = ", vm_host
      vbm_args = ssh_prefix_list(vm_host) + ["VBoxManage", "startvm", vm_name]
      print vbm_args
      return call(vbm_args, shell=True)
  
  start(vm_name, vm_host)
  </code></pre>
  
  <p>The wrapper prints the number of arguments, their values, and calls ssh.</p>
  
  <pre><code>#!/bin/bash
  
  echo Number of arguments: $#
  echo ssh arguments: "$@"
  ssh "$@"
  </code></pre>
  
  <p>This is the output.</p>
  
  <pre><code>$ scripts/vm_test.py
  vm_host =  stephen@192.168.21.230
  ['scripts/ssh_wrapper', '-v', '-v', '-v', 'stephen@192.168.21.230', 'VBoxManage', 'startvm', 'atp-systest Clone']
  Number of arguments: 0
  ssh arguments:
  usage: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
             [-D [bind_address:]port] [-e escape_char] [-F configfile]
             [-i identity_file] [-L [bind_address:]port:host:hostport]
             [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
             [-R [bind_address:]port:host:hostport] [-S ctl_path]
             [-w local_tun[:remote_tun]] [user@]hostname [command]
  </code></pre>
  
  <p>This is on Python 2.5.</p>