>>I must use Fork() and Wait()
Why? Sounds like over complication of the problem.
>>myComd is an unallocated pointer which can not be used until you allocate memory to it. IMHO don't make it a pointer; remove the star and replace pointer notation "->" with dot notation "."
>> line 7: #define BUFFER_MAX (50)
Paths can be up to 255 characters.
>> line 26: strncpy(myCmd->name,
Again, you're program is scribbling all over memory because name is an unallocated pointer.
>> myCmd->argv[0] = strtok(NULL, " ");
Wrong. argv[0] must be the name of the program you want to execute -- it can also contain the path.