C#:
using IWshRuntimeLibrary;
string filePath = @"C:\Users\UserName\Desktop\Shortcut.lnk";
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(filePath);
shortcut.TargetPath = @"C:\Windows\System32\notepad.exe";
shortcut.Description = "My shortcut description";
shortcut.IconLocation = @"C:\Windows\System32\notepad.exe, 0";
shortcut.Save();