sprintf(s, "%ld", atol(s));
....assuming you don't mind potential undefined behavior.
That assumes there are nothing more than the number itself in the
string, otherwise perhaps a loop with strtok to convert each "word" in
the string separately can to the trick. Simply convert every word that
starts with '0', and just strcpy the rest.
Never use (or recommend, especially in this group), the ato...
conversion functions. They are old dangerous hacks, and produce
undefined behavior if the result of the conversion is outside the
range of the destination type.
The original language standard introduced the strto... functions, also
prototyped in <stdlib.h>, that have fully defined behavior for any
input other than a null pointer. And they provide for error checking
as well.