I have several libraries made by myself (a geometry library, a linked list library, etc). I want to make a header file to include them all in one lib.h. Could I do something
Yes, this works, and is in fact used in most APIs. Remember what a #include
actually does (tell the preprocessor to immediately include a new file), and this should make sense. There is nothing to prevent several levels of inclusion, although implementations will have a (large) maximum depth.
As noted, you should organize your headers into logical groupings.