First of you need to realize that if you get message like this the application you trying to run is not meant to this platform/distribution. So, it's very likely that it'll crash in most painful way, taking all your files, money and house :)
Especially, this is related to the (g)libc, as it is closely tighten to the kernel ABI and running glibc compiled for the different version of ABI is risky. That's the reason behind library versioning.
If after all those warnings you still want to give it a try you can use, in the order of complexity, the following:
Unpack appropriate library into the same catalogue, where your app is(or any other distinguished catalogue) and run the
You can check the right library is picked up by testing with
LD_LIBRARY_PATH=. ldd ./app. Beware, that won't work for
root user and suid applications.
You can actually try to create chrooted environment for the application. Keep in mind, that
chroot call resets the location of the root(/) directory for application that runs under it. In practice, that means that you need to provide not only the replacement
glibc library, but ALL the libraries that used by your application and libraries that used by those libraries and so on, until you have everything that would create self-sufficient environment. That also implies presence of at least
/dev/log devices, as well as
/etc/group files. The good example of such environment on Debian is
/var/spool/postfix/). The launch command itself would be simple:
chroot /home/of/chrooted/app ./app
The best and easiest way though would be usage of the
docker and appropriate image, that suitable for your app. Installing
docker is whole huge topic by itself, you can start with Docker installation guide. One pre-requirement for it though Linux kernel greater than 3.8+. Besides this limitation it's the best way to run an app that requires different distribution/libraries set.
Also, check how to run new software without updating GLIBC?