I found out how to do it using Generic Mapping Tool.
From the website: GMT is an open source collection of ~65 tools for manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing Encapsulated PostScript File (EPS) illustrations ranging from simple x-y plots via contour maps to artificially illuminated surfaces and 3-D perspective views; the GMT supplements add another ~70 more specialized tools. GMT supports over 30 map projections and transformations and comes with support data such as GSHHS coastlines, rivers, and political boundaries.
#!/bin/sh
# -JGlon0/lat0/size(in inches)
# Define RGB colors after -S and -G (e.g. -S175/200/225)
pscoast -JG10/20/4i -Rg -P -Sblue -Gtan -K > map.ps
# Symbol shape and size in -Sa0.2i
# Color in -G
echo -10 -10 | psxy -J -Rg -P -Sa0.2i -Gred -W1p -O >> map.ps
# The letter after -T determines the kind of raster image (j for JPG, g for PNG
ps2raster map.ps -A -Tj
Will produce this:

Special thanks to Matthew Herman for helping me with this.