Tente modificar o comando tar para tar -X exclude -cvpf - . (ou seja, altere o * para um . ) e modifique o arquivo de exclusão para dizer
./proc/*
./tmp/*
Editar : realmente? Funciona para mim. Aqui está a minha estrutura de diretórios:
|-- a
| |-- foo
|-- b
| |-- bar
| |-- tmp
| | |-- farr
|-- tmp
| |-- frotz
Este é o conteúdo do meu arquivo ../exclude
./tmp/*
Então eu faço tar cvf ../test.tar -X ../exclude . e obtenho
./
./b/
./b/bar
./b/tmp/
./b/tmp/farr
./tmp/
./a/
./a/foo
Observe que o conteúdo de ./b/tmp está incluído ( ./b/tmp/farr é coletado), mas os de ./tmp não são ( ./tmp/frotz não é selecionado).
tar é tar (GNU tar) 1.26 no Fedora 16.