I note that you declared strIdx but did not use it. Since the length of the string does not change, you should just call strlen once and save its return value.
It might be better to use two loops: one to find the index of the first non-space character; another to copy if the index of the first non-space character is not 0. This way, you can just copy the null character too, and in fact you wouldn't need to call strlen at all.
By the way, I have seen this called a "left trim" in that you don't also trim trailing spaces.
Also, fgets will not store the newline into the string if the string read is at the maximum. Therefore, your strchr call is not sufficient for correctness. You should either check that the pointer returned is not a null pointer, or use an alternative such as:
string[strcspn(string, "\n")] = '\0';
For visually checking the output, I suggest that you do something like: