This is perhaps just my ignorance, but when do you find yourself needing to set the timezone like that? Not in 10+ years of C programming have I ever had to do that.
I might do that if I am writing a quick-and-dirty program that works with times in multiple time zones and I can’t be bothered to find a library with a better API.
There are alternatives, but rewriting every program is not always an option.
These kind of rewriting sounds exactly like what OpenBSD would do ..