#define _GNU_SOURCE

#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>

int i = 1;

main(int argc,char **argv)
{

char *p,*env_addr;
char symbol_name[32];


if(argc <3) {
    printf("Usage: %s -s <symbol names> -e <enva names> \n",argv[0]);
    printf("Example %s -s system exit printf -e SHELL PATH \n", argv[0]); 
    exit(0);
    }
    
i=1;    
if(!strcmp(argv[i],"-s")) {
    for(i =i + 1 ; argv[i]!=0 && strcmp(argv[i],"-e")  ;i++){
	p = dlsym(RTLD_NEXT,argv[i]);
	printf("## symbol %s is @ 0x%x\n",argv[i],p);
	}
    };
if(!strcmp(argv[i],"-e")) {    
for(i =i+ 1; argv[i]!=0 ;i++){
	env_addr =  getenv(argv[i]);
	printf("## env %s is @ %p\n",argv[i],env_addr);
	}
    };

    
exit(0);


}


