¿Eliminar bloques de bytes nulos con un file disperso?

Creé un file disperso con dd . ¿Cómo copio el contenido de otro file allí, dejando todos los bloques cero sin asignar?

La solución aparentemente es usar cp --sparse=always . Mi primer bash fue escribir algún código de Python, pero lamentablemente las sums de MD5 no coincidían (¿podría alguien decirme por qué? El código está en el historial de edición).