山本です。

>のとき、rb_glob2 で上の二つの引数を join して 'c:/winnt/../*' として、* を指すポインタをとって、
>glob_helper に引数 const char *sub を追加して上のポインタを渡せば、
>glob_call_func で path - sub 個以降の文字を渡すだけで実現できそうな気がします。

これじゃだめですね。path のポインタが各段階で変わるので、const char *sub じゃなくて、
int subnum とかにしないと。