#include<unistd.h>
#include<stdio.h>
#define FILE "/etc/i"
int main(void)
{
char *const a;
char buf[]="AAA";
char *const b;
char envp[]="buff";
a=&buf[0];
b=&envp[0];
execve(FILE, *a, *b);
}

lukasz@bash:~$ gcc -o a a.c
a.c: W funkcji `main,:
a.c:10: błąd: assignment of read-only variable `a,
a.c:11: błąd: assignment of read-only variable `b,
a.c:12: ostrzeżenie: przekazywanie argumentu 2 funkcji `execve, robi wskaźnik z liczby całkowitej bez rzutowania
a.c:12: ostrzeżenie: przekazywanie argumentu 3 funkcji `execve, robi wskaźnik z liczby całkowitej bez rzutowania
lukasz@bash:~$


całkowicie zapomnialem wskaznikologie gdyz dawno bawiłem sie z C i nie moge sobie poradzic z tym banalnym programem...co jest nie tak

i gdy mam taką funkcje
#include <unistd.h>

int execve(const char *filename, char *const argv [], char *const
envp[]);

to zmienne opowinne byc zadeklarowane tak:
#define FILENAME "COSTAM"
a reszta jakpowinienem zadeklarowac stały wskaźnik o tak char *const a; i pózniej przypisac adres początka bufora zmiennej awezcie tak w skrócie napiszcie ja macie czas i czaicie to dobrze...