Eu sei pouco sobre o Mac OSX, ainda acredito que suas ferramentas padrão são semelhantes às do Linux.
Se fosse para Linux / Bash, eu tentaria:
tar -c /source/dirA/ /source/file1 | tee >(cd /foo/destination3/ && tar -x) >(cd /bar/destination2/ && tar -x) >(cd /foobar/destination1/ && tar -x) > /dev/null
Todo destino receberá dirA/ e file1 . Você pode fornecer mais argumentos ao primeiro tar (diretórios ou arquivos). Para adicionar outro destino, basta colocar o argumento tee adicional de maneira semelhante.
Como isso funciona? Primeiro tar converte diretórios e arquivos em um único fluxo de bits que pode ser usado em um pipe. O comando tee bifurca esse fluxo; cada cópia, exceto uma, é extraída por tar no destino correto. A última cópia se move pelo cano; é descartado em /dev/null . (Pode-se usar a última cópia para destination0 , mas a sintaxe seria diferente, então decidi mantê-la simples com tee apenas).
O código é um ponto de partida. Você pode precisar ajustá-lo para trabalhar com o OSX.