By extending LD_PRELOAD hacking a little further, one could implement a copy-on-write filesystem on top of a read-only filesystem. Attempts to get read access to objects not in the fakefs filesystem will be redirected to access a read-only `backing' filesystem. Attempts to get write access to objects, or to rename or delete existing objects (which is really just another way to speak of write access to directory objects), or to create new objects, will be redirected to objects in a fakefs filesystem.
Note that such filesystem must be able to store `rename' and 'delete' objects as well. This is why they are notoriously hard to implement!
fakefs should be able to implement this using an asymmetrical set of storage and retrieval plugins, especially if there is an `import' stage which transfers metadata from the real filesystem to fakefs before the overlay filesystem can be used.