#2304: fix incorporating Eric Smith's .format suggestion and tested on Ubuntu as well as Windows
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 395b7a3..68de777 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -853,8 +853,8 @@
                 startupinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
                 startupinfo.wShowWindow = _subprocess.SW_HIDE
                 comspec = os.environ.get("COMSPEC", "cmd.exe")
-                args = comspec + " /c " + args
-                if (_subprocess.GetVersion() >= 0x80000000L or
+                args = '{} /c "{}"'.format (comspec, args)
+                if (_subprocess.GetVersion() >= 0x80000000 or
                         os.path.basename(comspec).lower() == "command.com"):
                     # Win9x, or using command.com on NT. We need to
                     # use the w9xpopen intermediate program. For more