The prototype of execvp
is
int execvp(const char *file, char *const argv[]);
It expects a pointer to char
as the first argument, and a NULL
-terminated pointer to an array of char*
. You are passing completely wrong arguments.
You are passing a single char
as first argument and a char*
as the second.
Use execlp
instead:
int execlp(const char *file, const char *arg, ... /* (char *) NULL */);
So
char *token = strtok(input," \n"); if(token == NULL) { fprintf(stderr, "only delimiters in line\n"); exit(1); } if(execlp(token, token, NULL) < 0){ fprintf(stderr, "Error in execution: %s\n", strerror(errno)); exit(1); }
Also the convention in UNIX is to print error messages to stderr
and a process with an error should have an exit status other than 0.
Related Posts:
- How to use execvp()
- execvp: bad address error
- The difference between n++ and ++n at the end of a while loop? (ANSI C)
- Working on code to calculate cosine with factorial sum
- What causes a segmentation fault (core dump) to occur in C?
- How to use symbols of extended ASCII table in C?
- Two questions about basic C programs
- How to convert an int to string in C?
- typedef struct vs struct definitions [duplicate]
- what is the difference between uint16_t and unsigned short int incase of 64 bit processor?
- Why am I getting “void value not ignored as it ought to be”?
- 1 = false and 0 = true?
- char *array and char array[]
- Get a substring of a char*
- What causes the Broken Pipe Error?
- What is EOF in the C programming language?
- Why does the terminal show “^[[A” “^[[B” “^[[C” “^[[D” when pressing the arrow keys in Ubuntu?
- Write to .txt file?
- Reading from file using read() function
- What is the difference between ++i and i++?
- warning: assignment makes integer from pointer without a cast
- munmap_chunk(): invalid pointer
- printf() formatting for hexadecimal
- The importance of c enumeration (typedef enum) [duplicate]
- What does #pragma once mean in C? [duplicate]
- Connect: Socket operation on non-socket
- “Initializer element is not constant” in C
- How do you do exponentiation in C?
- Printing long int value in C
- Undefined reference to pow( ) in C, despite including math.h [duplicate]
- Undefined reference to pow( ) in C, despite including math.h [duplicate]
- C programming, error: called object is not a function or function pointer
- How to convert an int to string in C?
- Process finished with exit code 11 | Error during malloc [duplicate]
- How does wait(NULL) exactly work?
- How to replicate vector in c?
- Try catch statements in C
- How do I create an array of strings in C?
- How to check if a string is a number?
- C compile error: “Variable-sized object may not be initialized”
- What does WEXITSTATUS(status) return?
- Difference between a Structure and a Union
- Xcode – Warning: Implicit declaration of function is invalid in C99
- Error: control may reach end of non-void function in C
- The difference between stdout and STDOUT_FILENO
- C language: float % float why expression must have integral type
- Reading \r (carriage return) vs \n (newline) from console with getc?
- Invalid pointer error on invoking free() after malloc in C
- In C, how should I read a text file and print all strings
- What does “Size in TCHARs” means?
- Python ? (conditional/ternary) operator for assignments
- What’s the difference between a file descriptor and file pointer?
- return makes integer from pointer without a cast [-Wint-conversion] return candidate
- Math constant PI value in C
- Cygwin – Makefile-error: recipe for target `main.o’ failed
- Why am I getting “undefined reference to sqrt” error even though I include math.h header?
- Why am I getting “undefined reference to sqrt” error even though I include math.h header?
- How can I use an array of function pointers?
- Expected declaration specifier error in function
- When and why to use malloc?
- Multiple definition of … linker error
- Does sizeof return the number of bytes or the number of octets of a type in C?
- C compile error: Id returned 1 exit status
- How do I concatenate const/literal strings in C?
- Efficient way to find task_struct by pid
- Why am I getting this memory access error ‘double free or corruption’?
- Passing an array by reference in C?
- size of struct in C
- Warning: return from incompatible pointer type in C
- How to generate a random number between 0 and 1?
- How can one print a size_t variable portably using the printf family?
- How to make sense of modulo in c
- “No such file or directory” error in CodeBlocks
- Check if input is integer type in C
- Iterate through a C array
- Uninitialized value was created by a heap allocation
- Makefile:1: *** missing separator. Stop
- double free or corruption (!prev) error in c program
- xorl %eax – Instruction set architecture in IA-32
- What does this GCC error “… relocation truncated to fit…” mean?
- Using floats with sprintf() in embedded C
- Printf width specifier to maintain precision of floating-point value
- Two or more data types in declaration specifiers error
- ‘sprintf’: double precision in C
- C printing bits
- How do I find the time complexity (Big O) of while loop?
- Why do we use NULL in strtok()?
- PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param)
- How to concatenate string and int in C?
- How detect malloc failure?
- A Simple, 2d cross-platform graphics library for c or c++?
- Removing last character in C
- error: ISO C forbids nested functions – What’s wrong?
- Dereference void pointer
- Use of flag in c?
- Carriage return in C?
- fgetc(stdin) in a loop is producing strange behaviour
- Difference between “while” loop and “do while” loop
- Swapping 2 Bytes of Integer
- GDB no such file or directory