libc.so.6 is the current soname of GNU libc, means your executable likely wasn't cross compiled but built for the host. This can either happen when your Makefile uses the wrong gcc, or - which is more likely when sticking to the examples - your C source directory is not clean and already contains precompiled object files or final executables made for the host.
Make sure that your source directory is clean and contains only *.c, *.h etc. files and no *.o ones or ELF executables.
I'm sure that my source directory is clean and only have helloworld.c and Makefile in the folder.
I try to find solution on internet, once I add '$(CP) /lib/x86_64-linux-gnu/libc.so.6 $(1)/usr/bin' in the Package install instructions. It can be compiled successfully, but the package not work when I install in openwrt.
The please provide the actual OpenWrt Makefile and - if applicable - the inner Makefile as well here. It seems to me that you're using the wrong compiler for building your sources.