если я правильно понимаю, то shared pointer это чисто плюсовая штука. а сишная обычная куча (malloc/free) и плюсовая куча (new / delete) это две разные кучи и их путать нельзя. cmockery изначально заточен под чистый си. я все-таки думаю что вам для плюсов он не подойдет, или подойдет но с ограничениями.