Thanks in large part to your information about how you invoke tar, I believe I have come up with a decent solution. I also was able to find the structified version of tar I had worked on in the past.
The argument parsing is a bit ugly, so simplifications are welcome, provided they keep the current functionality