Теоретически это возможно.
Надо самому написать этот заголовочный файл. Понятное дело, задача может быть _очень_ нетривиальной, да и просто неосуществимой, если вам неизвестно, какие параметры надо передавать библиотеке (количество и типы), а также типы возвращаемых значений.
С другой стороны,
void printf(char *fmt, ...);
int main (void) {
int i=2;
printf("Hello, i = %d\n", i);
return 0;
}
вполне себе компилится без всякого stdio.h
gcc -fno-builtin noheader.c -o noheader
Если у вас есть дока по библиотеке, то опишите все используемые функции и вперед!