Путём долгих проб и ошибок, а также штудирования документации
bsdtar (не GNU/tar, а тот, который работает с libarchive) я таки добился своего:
wget -qO- http://loookup.com/img/flags/zip/cflags2.zip | bsdtar -cf - @- | gzip > converted.tar.gz
В общем, сценарии могут быть следующими:
Конвейерная обработка zip-архива различными фильтрами, включая передачу по сети
cat file.zip | bsdtar -cf - @- | filter1 | filter2 | filter3
Перепаковка из zip в tarbsdtar -czf new.tar.gz @old.zip
или так:
bsdtar -cf - @old.zip | gzip > new.tar.gz
Дополнительные ссылки