Generally, mallocmalloc, reallocrealloc and freefree are all part of the same library. One of the things this allows is some 'behind the scenes' meta-data chicanery.
For example if you wanted to call malloc(16)malloc(16), the memory library might allocate 20 bytes of space, with the first 4 bytes containing the length of the allocation and then returning a pointer to 4 bytes past the start of the block.
When calling freefree, the library will subtract 4 bytes from the pointer passed in, to find the pointer to the length of the allocation.
reallocrealloc can also use this trick to find out how long the original allocation was.
So, in answer to your question, you can't /only/only implement reallocrealloc, you must implement mallocmalloc and freefree also.
Also, if you have an original K&R, I believe you would find some reallocrealloc source in there too.