Putting the script into the bin of your virtualenv, and then adding that bin location to your global PATH will not automatically source your virtualenv. You do need to source it first to make it active.
All that your system knows is to check that extra path for the executable and run it. There isn’t anything in that script indicating a virtualenv.
You could, however, hardcode the she-bang line to your virtualenv python, in which case the site-packages will end up on the path: