This version plainly just works but it is not perfected for what it does.
Also the checksumming code is a real slowdown of course, not using any dedicated binary for this task.
Usage would be:
e2zerocat.sh <device file> | cp --sparse=always /dev/stdin <output file>