Is there a reason why the path to the timezone file is prefixed with a colon? TZ=:/etc/localtime I've set TZ sometimes without the colon and it seem to work. I did a quick online search and didn't find anything relevant.
https://www.gnu.org/software/libc/manual/html_node/TZ-Variab...
The third format looks like this:
:characters
Each operating system interprets this format differently; in the GNU C
Library, characters is the name of a file which describes the time zone.
The other formats specify the timezone directly, such as EST+5EDT. Interestingly, it seems to work okay without the colon. Perhaps the leading slash implies a filename?