diff -r 6e3e91662216 Lib/subprocess.py --- a/Lib/subprocess.py Thu Mar 13 19:08:10 2014 +0100 +++ b/Lib/subprocess.py Thu Mar 20 23:18:06 2014 +0200 @@ -592,6 +592,11 @@ If universal_newlines=True is passed, the return value will be a string rather than bytes. """ + + + if isinstance(popenargs[0], list) and kwargs["shell"]==True: + raise ValueError('Use of iterable and shell=True leads to strange behavior') + if 'stdout' in kwargs: raise ValueError('stdout argument not allowed, it will be overridden.') if 'input' in kwargs: