#include #include int main(int argc, char **argv) { STARTUPINFOW wsi; PROCESS_INFORMATION pi; WCHAR wcmdline[] = L"git -c \"alias.x=!x() { printf '%s' \\\"$1\\\" | od -tx1; }; x\" x (\x597d)"; ZeroMemory( &wsi, sizeof(wsi) ); wsi.cb = sizeof(wsi); ZeroMemory( &pi, sizeof(pi) ); if (!CreateProcessW(NULL, wcmdline, NULL, NULL, // proc, thread attrs FALSE, // handle inheritance 0, // creation flags NULL, // env NULL, // cur dir &wsi, &pi)) { printf( "CreateProcess failed (%d).\n", GetLastError() ); return 1; } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); return 0; }