>>920 試してないから合ってるかわからないが
var strs = new[] { "a", "bc" };
var buf = new StringBuilder();
var indices = new List<int>(strs.Length);
foreach (var s in strs) { indices.Add(buf.Length); buf.Append(s).Append('\0'); }
var sbuf = buf.ToString();
fixed (char* pbase = sbuf) {
 char*[] ptrs = new char*[strs.Length];
 for (int i = 0; i < strs.Length; i++) ptrs[i] = pbase + indices[i];
 fixed (char** pp = ptrs) { アンマネージ関数(pp); }
}
これは酷いw