Plotting specific part of a geographic area

Thanks to everyone for their help. The conclusion for this may be;

  1. User can plot the shp file directly using gmt plot, it will do the task.

  2. gdal handles it with following commands.

$ ogr2ogr -f GMT out_file input_file   or
$ ogr2ogr -f OGR_GMT out_file input_file

But may be the ogr2ogr give some errors in terminal output but it will do the task.

  1. To fill the color for whole shp plot, gmt plot with (G) can do the task.

  2. To color all the polygons with different colors, I followed this procedure (https://flint.soest.hawaii.edu/t/coloring-ogr-gmt-polygon-files-based-on-attribute-column/1129), but it give errors.

Is there an easy way to differently color all the polygons for above map using GMT?