Вы можете посмотреть переменные среды, которые передаются вашей программе, с помощью команды printenv
.
Один из способов, с помощью которого программы могут взглянуть на свое окружение, - это использовать вызов getenv
, так что вы можете использовать программу трассировки или трюк LD_PRELOAD
, чтобы обернуть этот вызов и выяснить, что они ищут.
Однако не все программы используют getenv
для просмотра своей среды. Если программа использует следующий (необычный) формат для main, она может просматривать переменные среды через указатель envp
:
int main(int argc, char *argv[], char *envp[]) {
/* ... */
}
Кроме того, программы могут получить доступ к среде через переменную environ
.
Вероятно, вам повезет, если вы будете отслеживать вызовы getenv, но это не гарантия - она варьируется от программы к программе.