есть интересная особенность.
 
	Пишем не большую программу, в которой просто вызываем getenv() для какой нибудь переменной окружения и получаем постоянно разные адреса для одной и тоже переменной:
 
	sysmodel@ubuntu:~/C_files$ ./getenv PATH 
	PATH is at 0xff811e61 
	sysmodel@ubuntu:~/C_files$ ./getenv PATH 
	PATH is at 0xffc88e61 
	sysmodel@ubuntu:~/C_files$ ./getenv PATH 
	PATH is at 0xff8e5e61
 
	Закономерности я в этом пока не нашел, но судя по всему это проделки ОС.
 
	Но вот с другой стороны, когда выполняется программа в gdb, то тут всегда один и тоже адрес:
 
	(gdb) c 
	Continuing. 
	PATH is at 0xffffde6d 
	[Inferior 1 (process 8052) exited normally] 
	(gdb) run PATH 
	Starting program: /home/sysmodel/C_files/getenv PATH
 
	Breakpoint 1, 0x0804847a in main () 
	(gdb) c 
	Continuing. 
	PATH is at 0xffffde6d 
	[Inferior 1 (process 8056) exited normally] 
	(gdb) run PATH 
	Starting program: /home/sysmodel/C_files/getenv PATH
 
	Breakpoint 1, 0x0804847a in main () 
	(gdb) c 
	Continuing. 
	PATH is at 0xffffde6d 
	[Inferior 1 (process 8057) exited normally]
 
	Кто нибудь может объяснить эту особенность? Хотя возможно в gdb просто подгружает в выполняемою программу собственный env, например, с помощью execle...