Você pode fazer isso usando fallocate --dig-holes dada uma versão recente do util-linux.
Como alternativa, cp --sparse=always criará um arquivo esparso como o destino da cópia (você poderá movê-lo sobre o original).
Arquivos esparsos podem ser arquivados usando a opção tar -S ou tar --sparse no GNU tar; por exemplo. tar -czSf foo.tar.gz foo se você também quiser compactação ou tar -cSf foo.tar foo se não quiser.