If you create a virtualenv with, eg --python=python2.7, then this script does not correctly rewrite #! lines, because the #! lines do not end with 'bin/python'
It's probably worth testing with eg pypy:
$ virtualenv --python=pypy .pypyenv
Running virtualenv with interpreter /usr/bin/pypy
New pypy executable in .pypyenv/bin/pypy
Installing setuptools, pip...done.
$ head -1 .pypyenv/bin/pip
#!/home/samv/projects/foo/.pypyenv/bin/pypy
It sould be easy to check if the path on the shebang line is executable. I'll see if I can knock up a quick patch.