Please read the zlibc documentation (info, html) to learn how to use zlibc. Basically, all you need to do is: for sh/bash/ksh/zsh: LD_PRELOAD=uncompress.so export for csh/tcsh: setenv LD_PRELOAD uncompress.so FWIW, this source uses arch-independent asm to do the magic. The source should compile on any Linux box (of any supported architecture) with a new enough glibc.