That’s my suspicion too, not that I’m an expert either.
Firefox’s wrapper adds a giant pile of LD_LIBRARY_PATH entries. Maybe that’s also an option to consider: instead of the mapping file, build a directory full of symlinks and add that directory to LD_LIBRARY_PATH in the wrapper. I don’t know if that would be more or less robust.
I was imagining invoking the loader directly; I’ve gotten that to work a few times, though again more experienced people would know better how robust that is.
I don’t think this approach can suffice for general updates. C libraries aren’t the only thing that get changed on updates, even though they probably take the most.
I might’ve misunderstood the suggestion, but I still fail to see advantages in comparison to the pure way of replacing dependencies that deals with all dependencies, assuming details like the same name+version length:
I mean, organizing more use of that seems better to me than trying to come with something similar again.
EDIT: and of course, then there’s this one already, too: