I'm trying to change my remote server's timezone via Fabric like so:

run("export TZ=\":Pacific/Auckland\"")
run("date")

This doesn't seem to work. run("date") gives me:
Tue Apr 19 00:19:58 CDT 2011 which is not the timezone I just set.
If I just log into the server and run the same bash commands, everything's just as expected:

[lazo@lazoweb]$ date
Tue Apr 19 00:20:00 CDT 2011
[lazo@lazoweb]$ export TZ=":Pacific/Auckland"
[lazo@lazoweb]$ date
Tue Apr 19 17:20:20 NZST 2011

Can anyone shed some light on this? What am I missing?
This only works for the current shell. Close the shell, start a new one and type date, you will see that the TZ has reset to the default timezone. Even for Fabric if you capture the output, you'd see that the TimeZone does get set correctly but as the script ends, so does the shell and hence the TZ variable is no longer available.
How do I set remote server TimeZone via Fabric?