Bunu yapmanın oldukça uydurma bir yolunu düşünebilirdim ve bu keyfi süreçler için işe yaramayacak.
'Char * getenv' kullanan kendi paylaşımlı kitaplığınızı yazdığınızı varsayalım. Ardından, 'LD_PRELOAD' veya 'LD_LIBRARY_PATH' env ayarını yaparsınız. vars, böylece her iki işleminiz de paylaşılan kitaplığınız önceden yüklenmiş olarak çalıştırılır.
Bu şekilde, aslında 'getenv' işlevinin kodu üzerinde bir kontrole sahip olacaksınız. Sonra her türden iğrenç numara yapabilirsin. "Getenv" parametreniz, env değişkenlerinin alternatif değerleri için harici yapılandırma dosyasına veya SHM segmentine başvurabilir. Veya istenen değerlerde regexp arama / değiştirme yapabilirsiniz. Veya ...
Bunu, dinamik bağlayıcıyı (ld-linux.so) yeniden yazmak yerine rastgele çalışan süreçler için (kök olsanız bile) yapmanın kolay bir yolunu düşünemiyorum.