こんな感じでしょうね
int main (int argc, char *argv[])
{
    int i;
    int readbyte=1; //読み込みたいバイト数
    unsigned char buffer[readbyte];
    FILE *fp = fopen(argv[1], "rb");
    fseek(fp, 0, SEEK_END);
    int fileSize = ftell(fp);
    fseek(fp, 0, SEEK_SET);
    for(i = 0; i < fileSize; i += readbyte) {
        fread(buffer, 1, readbyte, fp);
        printf("%x",buffer);
    }
    fclose(fp);
    return(0);
}
freed関数はファイルから好きなバイト数で読み込み、読み込み位置をその読み込んだ分先に進める関数です