In fact, I now have a --2.tgz file that I can't do anything to it! rm --2.tgz doesn't work and you can't escape the -- characters.

That's because it's not the shell which is interpreting the --, it's rm. Try rm -- --2.tgz. Or rm ./--2.tgz. Whatever.

Richard.