I had this exact use cases a few months back: a big SQLite DB I didn't want to duplicate (and use twice the storage) before testing a script, on a filesystem without copy-on-write.
I wrote a fuse tool to provide copy-on-write for the file instead: https://github.com/remram44/cowblock