diff --git a/src/rez/__init__.py b/src/rez/__init__.py
index <HASH>..<HASH> 100644
--- a/src/rez/__init__.py
+++ b/src/rez/__init__.py
@@ -2,7 +2,7 @@ import logging.config
 import os
 
 
-__version__ = "2.0.ALPHA.129"
+__version__ = "2.0.ALPHA.130"
 __author__ = "Allan Johns"
 __license__ = "LGPL"
 
diff --git a/src/rez/rex.py b/src/rez/rex.py
index <HASH>..<HASH> 100644
--- a/src/rez/rex.py
+++ b/src/rez/rex.py
@@ -553,11 +553,10 @@ class Python(ActionInterpreter):
         if self.manager:
             self.target_environ.update(self.manager.environ)
 
-        if not hasattr(args, '__iter__'):
-            import shlex
-            args = shlex.split(args)
-
-        return subprocess.Popen(args, env=self.target_environ,
+        shell_mode = not hasattr(args, '__iter__')
+        return subprocess.Popen(args,
+                                shell=shell_mode,
+                                env=self.target_environ,
                                 **subproc_kwargs)
 
     def command(self, value):
fixed bug where complex shell commands in package commands would cause an
error when using ResolvedContext.execute_command()