title: subprocess.Popen(): OSError: [Errno 8] Exec format error in python?
body: <p>Yesterday, I wrote and ran a python <code>script</code> which executes a <code>shell</code> using <code>subprocess.Popen(command.split())</code> where command is string which constitutes <code>.sh</code> script and its argument. This script was working fine until yesterday. Today, I ran the same script and now I am continuously hitting this error.</p>
  
  <pre><code>p=subprocess.Popen(shell_command.split())
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
  errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
  raise child_exception
  OSError: [Errno 8] Exec format error
  </code></pre>
  
  <p>I know there are similar questions that have been asked before related to this question, but in my case I tried everything which doesn't solve my purpose. Using <code>shell=True</code> does not work because my shell script calls an another shell script before which some environment has to be set in order to run that script. I am badly stuck in this. I just restart my system once. I am using <code>ubuntu 12.04</code></p>
  
  <p><strong>EDIT:</strong></p>
  
  <pre><code> import subprocess
   import os
   import sys
  
   arg1=sys.argv[1]
   arg2=sys.argve[2]
  
   shell_command = 'my_path/my_shell.sh ' + arg1 + ' '+ arg2
   P = subprocess.Popen(shell_command.split())
   P.wait()
  </code></pre>
  
  <p><strong>my_shell.sh:</strong></p>
  
  <pre><code>  arg1=$1
    arg2=$2
  
    cd $TOP
    setup the environment and run shell script
    build the kernel ...
    execute shell command .....
  </code></pre>