Какие форматы вам нужно иметь дело? Один из способов - написать скрипт оболочки, который проверяет расширения своего аргумента. Или, если все, с чем вы имеете дело, это варианты на .tar. *, Просто выполнение tar -xf будет касаться большинства из них автоматически. (Поэтому я помню только это и unzip, которые достаточно для всего, что я обычно встречаю.)