The simplest solution would be to add write support for extended headers in bin/tar
It was done for reading, which is a way more complicated endeavor, so it's probably just a question of spending a bit of time (and probably putting it outside of #define SMALL) (I've written the read/write support for OpenBSD::UStar, so it's not incredibly complicated. Roughly 50 lines of perl, probably 200 in C. The most annoying part will be figuring out where to put it inside tar(1) )