How can I set an environment variable only for the duration of the script?

Solution 1:

VAR1=value1 VAR2=value2 myScript args ...

Solution 2:

env VAR=value myScript args ...

Solution 3:

Just put

export HOME=/blah/whatever

at the point in the script where you want the change to happen. Since each process has its own set of environment variables, this definition will automatically cease to have any significance when the script terminates (and with it the instance of bash that has a changed environment).