The script did
source the file.
That's not the problem though. It's a side-effect of processes. When you execute a shell script, you create
a new process for the script to run in. Any changes to the environment your script makes are isolated to the shell script's process. Those changes are not, and cannot
be pushed back up to the original shell.
The only "fix" for this is to source the script rather than execute it.